package com.hsc.test;

import com.hsc.box.ArrayBox;

public class Main {
    public static void main(String[] args) {



        String name = "Hello world!";
        //1、创建一个容器（数组）
        int[] array = new int[3];
        //2、可以存入三个数据
        array[0] = 10;
        array[1] = 20;
        array[2] = 30;

        //这样创建一个数组太麻烦了，站在一个普通的用户角度去思考，当你把这个工具封装好，用户无感知的使用的你们的工具，而不用考虑是否能否存入进去
        //我们也提供一个给用户提供初始值的有参构造方法
        ArrayBox<Integer> arrayBox = new ArrayBox();
        //测试验证：1、当添加的元素超过10个时候，数组进行扩容
        for (int i = 0; i < 11; i++) {
            arrayBox.add(i * 10);
        }
        for (int i = 0; i < arrayBox.size(); i++) {
            System.out.println("value值为：" + arrayBox.get(i));
        }
        System.out.println("有效的元素个数：" + arrayBox.size());
        System.out.println("数组的容量：" + arrayBox.length());
        //指定位置添加指定的元素
        arrayBox.add(2, 5);
        System.out.println("插入元素5完成");
        for (int i = 0; i < arrayBox.size(); i++) {
            System.out.println("value值为：" + arrayBox.get(i));
        }
        System.out.println("有效的元素个数：" + arrayBox.size());
        System.out.println("数组的容量：" + arrayBox.length());
        //删除索引的位置为2的数据
        Integer removeValue = arrayBox.remove(2);
        System.out.println("删除的元素为：" + removeValue);
        System.out.println("有效的元素个数：" + arrayBox.size());
        System.out.println("数组的容量：" + arrayBox.length());
        for (int i = 0; i < arrayBox.size(); i++) {
            System.out.println("value值为：" + arrayBox.get(i));
        }
    }
}